During planning, prototyping, and/or production phases of network development, many scenarios, that are likely to arise when the network is deployed and/or being used, need to be evaluated prior to deployment. Some of the scenarios that may arise include link failure, node failure, configuration change, feature enablement, service turn-up, software upgrade, etc. Evaluating responses to these scenarios can be performed on the deployed network, using actual network devices (e.g., routers, switches, links, etc.) and/or software (e.g., network operating system, applications, etc.). However, performing the evaluation on the actual network devices or software, associated with the deployed network (e.g., while the network is operating or in production), may reduce revenue-generating performance of the deployed network and/or disrupt services delivered to paying customers.
Another way of evaluating how the deployed network will respond to the scenarios can be performed using another network (e.g., a shadow network that includes actual network devices) that represents the deployed network. However, using a shadow network to emulate the deployed network may be cost-prohibitive (e.g., particularly for large-scale deployed networks that include many network devices and/or operating system instances) or may insufficiently approximate how the deployed network will respond. Additionally, a virtual network may be used to emulate the deployed network using software programs that represent characteristics of actual network devices within the deployed network. The virtual network (sometimes referred to as a “modeled network”) may be able to mimic certain aspects of the deployed network (e.g., behavior of routing protocol logic, etc.), but are not suitable for eliciting responses that are identical to responses generated by the deployed network due to differences between the software programs and the actual network devices (e.g., forwarding plane rules, control plane protocols, etc.).